#ifndef PLATFORM_H
#define PLATFORM_H

//============================================================================
//    IMPLEMENTATION HEADERS
//============================================================================
// Platform/compiler-related stuff to set
#define PLATFORM_WIN32 1
#define PLATFORM_LINUX 2
#define PLATFORM_APPLE 3

#define COMPILER_MSVC 1
#define COMPILER_GNUC 2
#define COMPILER_BORL 3

#define ENDIAN_LITTLE 1
#define ENDIAN_BIG 2

// Get compiler and version
#if defined( _MSC_VER )
#   define COMPILER COMPILER_MSVC
	// version:
	// 1300 for vc7.0 (2002)
	// 1310 for vc7.1 (2003)
	// 1400	for vc8.0 (2005)
#   define COMP_VER _MSC_VER

#elif defined( __GNUC__ )
#   define COMPILER COMPILER_GNUC
	// version:
	// 2097 for gcc 2.97
	// 3002 for gcc 3.2.x
	// 3003 for gcc 3.3.x
#   define COMP_VER (__GNUC__*1000+__GNUC_MINOR___)

#elif defined( __BORLANDC__ )
#   define COMPILER COMPILER_BORL
#   define COMP_VER __BCPLUSPLUS__

#else
#   pragma error "Unknown compiler. Bailing out!"
#endif

// Platform
#if defined( __WIN32__ ) || defined( _WIN32 )
#   define PLATFORM PLATFORM_WIN32
#elif defined( __APPLE_CC__)
#   define PLATFORM PLATFORM_APPLE
#elif
#   define PLATFORM PLATFORM_LINUX
#else
#   error("Unknown platform. Bailing out!")
#endif





#endif // PLATFORM_H


